package com.eastfair.venueservice.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.venueservice.dto.BondManageDTO;
import com.eastfair.venueservice.dto.BondPayRecordDTO;
import com.eastfair.venueservice.entity.BondManage;
import com.eastfair.venueservice.entity.BondPayRecord;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 保证金付款记录
 * </p>
 *
 * @author lyw
 * @date 2023-02-17
 */
public interface BondPayRecordService extends SuperService<BondPayRecord> {

    /**
     * 支付保证金
     * @param bondManageDTO
     * @return
     */
    Boolean payBond(BondManageDTO bondManageDTO);

    /**
     * 保存保证金支付记录信息
     *
     * @param bondPayRecordDTO
     * @return
     */
    Boolean saveBondPayRecordInfo(BondPayRecordDTO bondPayRecordDTO);

    /**
     * 主场保证金保存支付记录.
     *
     * @param bondPayRecordDTO the bond pay record dto
     * @return the boolean
     */
    boolean saveForHomeBondManage(BondPayRecordDTO bondPayRecordDTO);

    /**
     * 保存支付系统支付记录.
     *
     * @param bondManage       the bond manage
     * @param bondPayRecordDTO the bond pay record dto
     * @return the boolean
     */
    boolean saveTransaction(BondManage bondManage, BondPayRecordDTO bondPayRecordDTO);

    /**
     * 根据保证金id查询支付记录列表
     *
     * @param bondId
     * @return
     */
    List<BondPayRecord> getBondPayRecordListByBondId(Long bondId);

}
